﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MJM.SPP.AccesoDatos;
using MJM.SPP.EntidadesNegocio;

namespace MJM.SPP.ComponentesNegocio
{
    public class ProgramaCN
    {
        protected static ProgramaAD objProgramaAD=new ProgramaAD();
        protected static ModuloCN objModuloCN = new ModuloCN();

        public List<ProgramaEN> Listar()
        {
            return objProgramaAD.Listar();
        }

        public int Insertar(ProgramaEN obj)
        {
            return objProgramaAD.Insertar(obj);
        }

        public int Modificar(ProgramaEN obj)
        {
            return objProgramaAD.Modificar(obj);
        }

        public int Eliminar(int ID)
        {
            ProgramaEN obj = Obtener(ID);
            obj.PROMUN_inFLAELI = 0;
            List<ModuloEN> lst= objModuloCN.Listar(ID);
            for (int i = 0; i < lst.Count; i++)
            {
                objModuloCN.Eliminar(lst[i].OPTGEN_P_inID, ID);
            }
            return objProgramaAD.Modificar(obj);
        }

        public ProgramaEN Obtener(int ID)
        {
            List<ProgramaEN> lst = Listar();
            for (int i = 0; i < lst.Count; i++)
            {
                if (ID == lst[i].PROMUN_inID)
                    return lst[i];
            }
            return null;
        }

        public ProgramaEN ObtenerLocal()
        {
            List<ProgramaEN> lst = Listar();
            for (int i = 0; i < lst.Count; i++)
            {
                if (lst[i].EnvParametro==2)
                    return lst[i];
            }
            return null;
        }
    }
}
